home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 38 / Commodore_Disc_38_19xx_-_de.d64 / der dreh (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  5KB  |  264 lines

  1. 10 rem ***************************
  2. 20 rem ***       der dreh      ***
  3. 30 rem ***                     ***
  4. 40 rem ***    ein spiel von    ***
  5. 50 rem ***                     ***
  6. 60 rem ***   guenter  kramer   ***
  7. 70 rem ***                     ***
  8. 80 rem *** fuer commodore-disc ***
  9. 90 rem ***************************
  10. 100 ifv>0then130
  11. 110 v=1
  12. 120 load"mp-sprite dreh",8,1
  13. 130 ifv=2then160
  14. 140 v=2
  15. 150 load"mp-dreh",8,1
  16. 160 gosub350
  17. 170 gosub700
  18. 180 gosub1260
  19. 190 pokeze,22:pokesp,0:syscu
  20. 200 print"ein neues spiel? (j/n)"
  21. 210 poke198,0
  22. 220 geta$:ifa$=""then220
  23. 230 ifa$="n"then310
  24. 240 ifa$<>"j"then220
  25. 250 pokev+21,0
  26. 260 gosub1060
  27. 270 poke781,22:sys59903
  28. 280 pokeze,22:pokesp,0:syscu
  29. 290 printchr$(158)"f1 = loesung"
  30. 300 goto180
  31. 310 sys2048
  32. 320 rem ****************
  33. 330 rem *** variable ***
  34. 340 rem ****************
  35. 350 printchr$(28)chr$(147)
  36. 360 poke53280,0:poke53281,0
  37. 370 b=1024
  38. 380 f=55296
  39. 390 v=53248
  40. 400 s=2040
  41. 410 t=54272
  42. 420 ze=214
  43. 430 sp=211
  44. 440 cu=58640
  45. 450 dimt$(4)
  46. 460 dimk(7)
  47. 470 fori=0to4
  48. 480 reada
  49. 490 ifa=0then560
  50. 500 ifa<10then520
  51. 510 t$(i)=t$(i)+chr$(a):goto480
  52. 520 forj=1toa
  53. 530 t$(i)=t$(i)+chr$(32)
  54. 540 next
  55. 550 goto480
  56. 560 next
  57. 570 data176,99,105,8,176,99,105,6,105,0
  58. 580 data98,1,98,117,99,105,105,117,105
  59. 590 data2,98,1,98,105,117,105,117,99,105,171,99,105,0
  60. 600 data98,1,98,171,99,189,171,107,3
  61. 610 data98,1,98,171,107,1,171,99,189,98,1,98,0
  62. 620 data98,1,98,98,2,98,4,98,1,98,98
  63. 630 data2,98,2,98,1,98,0
  64. 640 data173,99,107,106,99,107,106,4
  65. 650 data173,99,107,106,2,106,99,107,106,1,106,0
  66. 660 return
  67. 670 rem *********************
  68. 680 rem *** bild aufbauen ***
  69. 690 rem *********************
  70. 700 fori=200to236
  71. 710 pokeb+i,160
  72. 720 next
  73. 730 pokeb+240,160
  74. 740 fori=241to259
  75. 750 pokeb+i,120
  76. 760 next
  77. 770 fori=260to276
  78. 780 pokeb+i,160
  79. 790 next
  80. 800 pokeb+280,160:pokeb+316,160
  81. 810 pokeb+320,160:pokeb+356,160
  82. 820 fori=360to396
  83. 830 pokeb+i,160
  84. 840 next
  85. 850 pokeb+375,252
  86. 860 pokeb+376,121:pokeb+377,254
  87. 870 fori=237to239
  88. 880 forj=0to160step40
  89. 890 pokef+i+j,0:pokeb+i+j,160
  90. 900 nextj,i
  91. 910 sys12*4096
  92. 920 gosub1060
  93. 930 fori=0to4
  94. 940 poke214,i+12:poke211,1
  95. 950 sys58640
  96. 960 printchr$(156)t$(i)
  97. 970 next
  98. 980 pokeze,14:pokesp,25:syscu
  99. 990 printchr$(158)"ein spiel von"
  100. 1000 printtab(27)"g. kramer"
  101. 1010 pokeze,22:pokesp,0:syscu
  102. 1020 printchr$(158)"f1 = loesung"
  103. 1030 rem **************************
  104. 1040 rem *** sprites einstellen ***
  105. 1050 rem **************************
  106. 1060 fori=0to15step2
  107. 1070 pokev+i+1,101
  108. 1080 pokev+14-i,14+9*i
  109. 1090 next
  110. 1100 poke2047,15
  111. 1110 fori=0to6
  112. 1120 pokes+i,13
  113. 1130 next
  114. 1140 pokev+33,0:pokev+32,0
  115. 1150 fori=0to7
  116. 1160 pokev+39+i,13
  117. 1170 next
  118. 1180 pokev+37,5:pokev+38,7
  119. 1190 pokev+28,255:pokev+27,255
  120. 1200 pokev+16,0
  121. 1210 pokev+21,255
  122. 1220 return
  123. 1230 rem ********************
  124. 1240 rem *** spiel laeuft ***
  125. 1250 rem ********************
  126. 1260 d=1:k=0
  127. 1270 fori=0to7:k(i)=0:next
  128. 1280 pokeze,0:pokesp,15:syscu
  129. 1290 printchr$(150)" "d;
  130. 1300 printchr$(157)". dreh"
  131. 1310 e=0
  132. 1320 poke56322,224
  133. 1330 e1=peek(56320)
  134. 1340 e2=peek(56321)
  135. 1350 poke56322,255
  136. 1360 e1=e1ande2
  137. 1370 if(e1and1)=0thene=1
  138. 1380 if(e1and2)=0thene=2
  139. 1390 if(e1and4)=0thene=3
  140. 1400 if(e1and8)=0thene=4
  141. 1410 if(e1and16)=0thene=e+16
  142. 1420 ife>0then1490
  143. 1430 geta$
  144. 1440 ifd>1then1470
  145. 1450 ifa$=chr$(133)then1700
  146. 1460 goto1280
  147. 1470 ifa$=chr$(133)then1660
  148. 1480 goto1280
  149. 1490 poke198,0
  150. 1500 ife=3thengosub2000
  151. 1510 ife=4thengosub2090
  152. 1520 ife<16then1280
  153. 1530 pokeze,22:pokesp,0:syscu
  154. 1540 printchr$(158)"f1 = abbrechen"
  155. 1550 gosub2170
  156. 1560 a=0:fori=0to6
  157. 1570 a=a+k(i)
  158. 1580 next
  159. 1590 ifa<7then1280
  160. 1600 gosub2410
  161. 1610 fort1=1to350
  162. 1620 sys49161
  163. 1630 ifpeek(v+16)<255then1650
  164. 1640 ifpeek(v)>180thenpokev+21,0
  165. 1650 next
  166. 1660 return
  167. 1670 rem ***************
  168. 1680 rem *** loesung ***
  169. 1690 rem ***************
  170. 1700 a=peek(61)+256*peek(62)
  171. 1710 poke65,aand255
  172. 1720 poke66,a/256
  173. 1730 fori=0to9
  174. 1740 readl(i)
  175. 1750 next
  176. 1760 data4,3,6,3,4,3,5,3,4,3
  177. 1770 ifk=1thengosub2000
  178. 1780 fori0=0to10
  179. 1790 gosub2200
  180. 1800 gosub2090:gosub2090:gosub2200
  181. 1810 gosub2000:gosub2000:gosub2200
  182. 1820 gosub2090:gosub2200
  183. 1830 gosub2000:gosub2200
  184. 1840 ifi0=10then1960
  185. 1850 forj=1tol(i0)
  186. 1860 gosub2090
  187. 1870 next
  188. 1880 gosub2200
  189. 1890 forj=1tol(i0)
  190. 1900 gosub2000
  191. 1910 next
  192. 1920 gosub2200
  193. 1930 gosub2090:gosub2200
  194. 1940 gosub2000
  195. 1950 next
  196. 1960 goto1600
  197. 1970 rem ***************************
  198. 1980 rem *** schieben nach links ***
  199. 1990 rem ***************************
  200. 2000 ifk=0then2050
  201. 2010 fori=1to18
  202. 2020 sys49158
  203. 2030 next
  204. 2040 k=k-1
  205. 2050 return
  206. 2060 rem ****************************
  207. 2070 rem *** schieben nach rechts ***
  208. 2080 rem ****************************
  209. 2090 ifk=7then63999
  210. 2100 ifk=0then2120
  211. 2110 ifk(k-1)=0then2160
  212. 2120 fori=1to18
  213. 2130 sys49161
  214. 2140 next
  215. 2150 k=k+1
  216. 2160 return
  217. 2170 rem ********************
  218. 2180 rem *** drehen knopf ***
  219. 2190 rem ********************
  220. 2200 ifk=0then2230
  221. 2210 ifk=7then2270
  222. 2220 ifk(k-1)=1then2270
  223. 2230 k(k)=abs(k(k)-1)
  224. 2240 pokes+k,13+k(k)
  225. 2250 gosub2340
  226. 2260 d=d+1
  227. 2270 pokeze,0:pokesp,15:syscu
  228. 2280 printchr$(150)" "d;
  229. 2290 printchr$(157)". dreh"
  230. 2300 return
  231. 2310 rem **************
  232. 2320 rem *** schuss ***
  233. 2330 rem **************
  234. 2340 fort0=0to24:poket+t0,0:next
  235. 2350 poket+5,9:poket+1,21
  236. 2360 poket+24,15:poket+4,129
  237. 2370 return
  238. 2380 rem **************
  239. 2390 rem *** glocke ***
  240. 2400 rem **************
  241. 2410 poket,207
  242. 2420 poket+1,34:poket+3,8
  243. 2430 poket+7,255
  244. 2440 poket+8,34:poket+10,8
  245. 2450 poket+14,231
  246. 2460 poket+15,34:poket+17,8
  247. 2470 poket+5,9:poket+6,9
  248. 2480 poket+12,9:poket+13,9
  249. 2490 poket+19,9:poket+20,9
  250. 2500 poket+24,15
  251. 2510 fori=1to6
  252. 2520 poket+4,65:poket+11,64
  253. 2530 forj=0to100:next
  254. 2540 poket+11,65:poket+18,64
  255. 2550 forj=0to100:next
  256. 2560 poket+4,64
  257. 2570 poket+18,65
  258. 2580 forj=0to100:next
  259. 2590 next
  260. 2600 poket+11,64
  261. 2610 poket+18,64
  262. 2620 poket+24,0
  263. 2630 return
  264.